package com.atguigu.yygh.cos.controller;

import com.atguigu.yygh.commom.result.Result;
import com.atguigu.yygh.cos.service.FileService;
import com.mysql.jdbc.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

/**
 * 请求方式：上传文件的请求都是POST
 * 请求参数：文件参数名是 file ，SpringMVC 会封装一个接口：MultiFile
 * 返回结果：上传成功后得到文件的 URL 路径
 */
@Api(tags = "文件上传")
@RestController
@RequestMapping("/api/cos/file")
public class FileApiController {

    @Autowired
    private FileService fileService;



    /**
     * 上传文件到腾讯云COS
     */
    @ApiOperation("上传文件到Cos")
    @PostMapping("/fileUpload")
    public Result fileUpload(@RequestParam("file") MultipartFile file){
        String url = fileService.upload(file);
        if (StringUtils.isNullOrEmpty(url)){
            return Result.fail();
        }
        return Result.ok(url);
    }
}
